#include "violate_data.h"
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include "category_xml.h"
#include "debug_log.h"

void InitVioData(t_VioData *p_vio_data) {
	char chtime[16];
	struct timeval time_val;

	gettimeofday(&time_val, NULL);
	sprintf(chtime, "%d%d", (int)time_val.tv_sec, (int)time_val.tv_usec % 1000);
	strcpy(p_vio_data->m_time, chtime);
	strcpy(p_vio_data->m_location, "上海路");
	strcpy(p_vio_data->m_reason, "布控测试");
	p_vio_data->m_type = 1003;
	p_vio_data->m_carspeed = 110;
	p_vio_data->m_carcolor = 3;
	p_vio_data->m_cartype = 2;
	p_vio_data->m_chexing = 102313;
	strcpy(p_vio_data->m_plate, "皖AB1234");
	strcpy(p_vio_data->m_plate_area, "(582,1168,164,38)");
	strcpy(p_vio_data->m_pic_path, "2016052013/ITS_上海路-0-晋A0004-20160517185016004_II_OL_OV  (15).JPG");
}	

void PrintVioData(const t_VioData *p_vio_data) {
	LOG("%s\n%s\n%s\n%d\n%d\n%d\n%d\n%d\n%s\n%s\n%s\n%s\n",
		p_vio_data->m_time, 
		p_vio_data->m_location, 
		p_vio_data->m_reason,
		p_vio_data->m_type,
		p_vio_data->m_carspeed,
		p_vio_data->m_carcolor,
		p_vio_data->m_cartype,
		p_vio_data->m_chexing,
		p_vio_data->m_plate,
		p_vio_data->m_plate_area,
		p_vio_data->m_pic_path,
		p_vio_data->m_extinfo);
}

// {"plate":"苏A12345","carColor":"白色","carbrand":"suv","cartype":"大客车","description":"布控原因"}
void GetJsonExtInfo(const t_VioData *p_vio_data, char *p_extinfo, const int extinfo_size) {
	char xmlPath[256] = "categories.xml";
	char carType[32];	
	char carColor[32];
	char carLogo[32];

	ReadCategoryXml(xmlPath, CATEGORY_CARTYPE, p_vio_data->m_cartype, carType);
	ReadCategoryXml(xmlPath, CATEGORY_CARCOLOR, p_vio_data->m_carcolor, carColor);
	ReadCategoryXml(xmlPath, CATEGORY_LOGO, p_vio_data->m_chexing / 10000, carLogo);
	sprintf(p_extinfo, "{\"plate\":\"%s\",\"carColor\":\"%s\",\"carbrand\":\"%s\",\"cartype\":\"%s\",\"description\":\"%s\"}", 
		p_vio_data->m_plate, carColor, carLogo, carType, p_vio_data->m_reason);
}

#if 0
int main(void) {
	t_VioData vio_data;
	char extinfo[512];
	
	InitVioData(&vio_data);
	GetJsonExtInfo(&vio_data, extinfo, sizeof(extinfo));
	LOG("%s\n", extinfo);
	return 0;
}
#endif
